package core;


/**
 * Thread responsável por enviar Status ao Gerente deste Worker. Ela envia em dois momomentos:
 * 1º: Após um worker acabar de calcula um job
 * 2º: Se o 1º não ocorre antes de 5s.
 * Isto é definido pela variável wait(5000)
 * 
 * @author robertow
 *
 */
public class UpdateStatusWorker extends Thread {
	Worker worker;
	boolean running = true;

	UpdateStatusWorker(Worker worker) {
		this.worker = worker;
	}

	public void run() {
		this.statusVerify();
	}

	public synchronized void statusVerify() {
		try {
			while (!Thread.interrupted()) {
				wait(30000);
				this.worker.statusSend();
			}
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}
}
